package day0114;

public class Test6 {
    public static void main(String[] args) {
        Car c=new Car(){
            public void running()   {
                System.out.println("汽车在跑");
            }
        };

        //前提条件：匿名内部类采用接口定义(用抽象类或普通类定义匿名内部类时不能简化)，接口中只有一个抽象方法。
        //版本一、
        //1.省略匿名内部类的格式：new Car(){}
        //2.省略方法的定义： public void running
        //3.给方法参数和方法体中间添加箭头：() -> {}
        Car c2=()  -> {
            System.out.println("汽车在跑");
        };

        //版本二、如果匿名内部类中的方法只有一行代码，可以省略{}
        Car c3=()  ->    System.out.println("汽车在跑");
    }
}

//funtional函数式接口interface： 这个接口定义的匿名内部类可以被简化(会自动检查这个接口是否符合函数式接口的要求<只能有一个抽象方法。>)
@FunctionalInterface
interface Car{
    void running();
}